#ifndef __TEMPLATE_H__
#define __TEMPLATE_H__


class TestPaper
{
public:
    TestPaper() = default;
    ~TestPaper() = default;

    void Q1();
    void Q2();
    void Q3();

    virtual std::string A1() {return "-";}
    virtual std::string A2() {return "-";}
    virtual std::string A3() {return "-";}
};

class UserA : public TestPaper
{
public:
    UserA() = default;
    ~UserA() = default;

    std::string A1();
    std::string A2();
    std::string A3();
};

class UserB : public TestPaper
{
public:
    UserB() = default;
    ~UserB() = default;

    std::string A1();
    std::string A2();
    std::string A3();
};

#endif

